home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 81 / IOPROG_81.ISO / tips / Java / Copiare i dati tra due database / SQLServerToAccess.java
Encoding:
Java Source  |  2004-04-28  |  1.6 KB  |  43 lines

  1. import java.sql.*;
  2. public class SQLServerToAccess {
  3.     
  4.     static final String FORNAME="sun.jdbc.odbc.JdbcOdbcDriver";
  5.     static String DriverInput;
  6.     static String DriverOutput;
  7.     
  8.     public static void main(String[] args) throws ClassNotFoundException{
  9.         try{
  10.             Class.forName(FORNAME);
  11.             DriverInput="jdbc:odbc:"+args[0];    //driver del database sql
  12.             DriverOutput="jdbc:odbc:"+args[1];    //driver del database access
  13.             
  14.             Connection conIn=DriverManager.getConnection(DriverInput);
  15.             Connection conOut=DriverManager.getConnection(DriverOutput);
  16.                         
  17.             Statement stIn=conIn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
  18.             ResultSet rs=stIn.executeQuery("select * from Utenti");//il resultset dev'essere scrollabile a causa di un problema
  19.             
  20.             rs.first();
  21.             do{
  22.                 String nomeUtente=rs.getString(1);
  23.                 String cognomeUtente=rs.getString(2);
  24.                 int codiceUtente=rs.getInt(3);
  25.                 
  26.                 Statement stOut=conOut.createStatement();
  27.                 stOut.execute("INSERT INTO Utenti VALUES('"+nomeUtente+"','"+cognomeUtente+"',"+codiceUtente+")");
  28.             }
  29.             while(rs.next());
  30.             
  31.             rs.last();    //questa e le righe a seguire servono ad ovviare ad un problema di inserimento dell'ultimo valore
  32.             Statement first=conOut.createStatement();    //inserito nel DB di partenza
  33.             first.execute("insert into Utenti values('"+rs.getString(1)+"','"+rs.getString(2)+"',"+rs.getInt(3)+")");
  34.             
  35.             System.out.println("Copia Terminata!");
  36.             System.exit(0);
  37.         }catch(SQLException e){
  38.             System.out.println("SQL Exception!");
  39.             System.exit(1);
  40.         }
  41.     }
  42. }
  43.